

import { ui } from "./ui"

import { JEventEmit } from '../components/util/jEventEmit'
/**
 * 主要事件实例
 * @author Jeef
 */
export const glEvent = {
    ui
}


/**
 * 自定义事件触发
 * @param tagList 标签名数组
 * @param data 触发用的数据,可不写
 */
export function customEventEmit(tagList: string[], data?: any) {
    /** 当前索引事件 */
    let currentEvent = glEvent
    /** 寻找事件 */
    for (let i = 0; i < tagList.length; i++) {
        try {
            currentEvent = currentEvent[tagList[i]]
        }
        catch (e) {
            console.error(e)
            console.error(`自定义 ${tagList.join(",")} 无法找到对应的事件`)
            return false
        }
    }
    if (currentEvent instanceof JEventEmit) {
        currentEvent.emit(data)
    }
    else {
        console.error(`自定义 ${tagList.join(",")}不是事件`)
    }

}

window["glEvent"] = glEvent